/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fachada;

import categoria.Categoria;
import categoria.NegocioCategoria;
import cliente.Cliente;
import estadospedido.NegocioEstadoPedido;
import java.sql.SQLException;
import java.util.HashMap;
import pedido.NegocioPedido;
import pessoafisica.NegocioPessoaFisica;
import pessoajuridica.NegocioPessoaJuridica;
import situacoespedido.NegocioSituacaoPedido;
import situacoespedido.SituacaoPedido;
import cliente.NegocioCliente;
import detalhepedido.DetalhePedido;
import detalhepedido.NegocioDetalhePedido;
import estadospedido.EstadoPedido;
import java.util.Vector;
import pedido.Pedido;
import pessoafisica.PessoaFisica;
import pessoajuridica.PessoaJuridica;
import produto.NegocioProduto;
import produto.Produto;
import subcategorias.NegocioSubcategoria;
import subcategorias.Subcategoria;
import tipoformapgto.NegocioTipoFormaPgto;
import tipoformapgto.TipoFormaPgto;

/**
 *
 * @author Anderson
 */
public class Fachada {
    NegocioCliente negocioCliente;
    NegocioPedido negocioPedido;
    NegocioCategoria negocioCategoria;
    NegocioPessoaFisica negocioPessoaFisica;
    NegocioPessoaJuridica negocioPessoaJuridica;
    NegocioEstadoPedido negocioEstadoPedido;
    NegocioSituacaoPedido negocioSituacaoPedido;
    NegocioSubcategoria negocioSubcategoria;
    NegocioDetalhePedido negocioDetalhePedido;
    NegocioProduto negocioProduto;
    NegocioTipoFormaPgto negocioTipoFormaPgto;
    private static Fachada fachada;
    

    private Fachada() throws ClassNotFoundException, SQLException
    {
        negocioCliente = new NegocioCliente();
        negocioCategoria = new NegocioCategoria();
        negocioPedido = new NegocioPedido();
        negocioEstadoPedido = new NegocioEstadoPedido();
        negocioSubcategoria = new NegocioSubcategoria();
        negocioPessoaFisica = new NegocioPessoaFisica();
        negocioPessoaJuridica = new NegocioPessoaJuridica();
        negocioTipoFormaPgto = new NegocioTipoFormaPgto();
        negocioSituacaoPedido = new NegocioSituacaoPedido();
        negocioDetalhePedido = new NegocioDetalhePedido();
        negocioProduto = new NegocioProduto();
    }
    public static Fachada getFachada() throws ClassNotFoundException, SQLException
    {
        if(fachada == null)
            fachada = new Fachada();
        return fachada;
    }
    public void adicionar(Cliente cliente) throws SQLException, ClassNotFoundException
    {
        negocioCliente.adicionar(cliente);
    }
    public void adicionar(Pedido pedido) throws SQLException, ClassNotFoundException
    {
        negocioPedido.adicionar(pedido);
    }
    public void adicionar(EstadoPedido estadoPedido) throws SQLException, ClassNotFoundException
    {
        negocioEstadoPedido.adicionar(estadoPedido);
    }
    public void adicionar(SituacaoPedido situacaoPedido) throws SQLException, ClassNotFoundException
    {
        negocioSituacaoPedido.adicionar(situacaoPedido);
    }
    public void adicionar(Categoria categoria) throws SQLException, ClassNotFoundException
    {
        negocioCategoria.adicionar(categoria);
    }
    public void adicionar(DetalhePedido detalhePedido) throws SQLException, ClassNotFoundException
    {
        negocioDetalhePedido.adicionar(detalhePedido);
    }
    public void adicionar(PessoaFisica pessoaFisica) throws SQLException, ClassNotFoundException
    {
        negocioPessoaFisica.adicionar(pessoaFisica);
    }
    public void adicionar(Produto produto) throws SQLException, ClassNotFoundException
    {
        negocioProduto.adicionar(produto);
    }
    public void adicionar(Subcategoria subcategoria) throws SQLException, ClassNotFoundException
    {
        negocioSubcategoria.adicionar(subcategoria);
    }
    public void adicionar(PessoaJuridica pessoaJuridica) throws SQLException, ClassNotFoundException
    {
        negocioPessoaJuridica.adicionar(pessoaJuridica);
    }
    public void adicionar(TipoFormaPgto tipoFormaPgto) throws SQLException, ClassNotFoundException
    {
        negocioTipoFormaPgto.adicionar(tipoFormaPgto);
    }

    public void remover(Cliente cliente) throws SQLException, ClassNotFoundException
    {
        negocioCliente.remover(cliente);
    }
    public void remover(Cliente cliente, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioCliente.remover(cliente, operacao);
    }
    public void remover(Cliente cliente, HashMap<String,String> operadores, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioCliente.remover(cliente, operadores, operacao);
    }
    public void remover(Pedido pedido) throws SQLException, ClassNotFoundException
    {
        negocioPedido.remover(pedido);
    }
    public void remover(Pedido pedido, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioPedido.remover(pedido, operacao);
    }
    public void remover(Pedido pedido, HashMap<String,String> operadores, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioPedido.remover(pedido, operadores, operacao);
    }
    public void remover(EstadoPedido estadoPedido) throws SQLException, ClassNotFoundException
    {
        negocioEstadoPedido.remover(estadoPedido);
    }
    public void remover(EstadoPedido estadoPedido, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioEstadoPedido.remover(estadoPedido, operacao);
    }
    public void remover(EstadoPedido estadoPedido, HashMap<String,String> operadores, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioEstadoPedido.remover(estadoPedido, operadores, operacao);
    }
    public void remover(SituacaoPedido situacaoPedido) throws SQLException, ClassNotFoundException
    {
        negocioSituacaoPedido.remover(situacaoPedido);
    }
    public void remover(SituacaoPedido situacaoPedido, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioSituacaoPedido.remover(situacaoPedido, operacao);
    }
    public void remover(SituacaoPedido situacaoPedido, HashMap<String,String> operadores, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioSituacaoPedido.remover(situacaoPedido, operadores, operacao);
    }
    public void remover(PessoaJuridica pessoaJuridica) throws SQLException, ClassNotFoundException
    {
        negocioPessoaJuridica.remover(pessoaJuridica);
    }
    public void remover(PessoaJuridica pessoaJuridica, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioPessoaJuridica.remover(pessoaJuridica, operacao);
    }
    public void remover(PessoaJuridica pessoaJuridica, HashMap<String,String> operadores, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioPessoaJuridica.remover(pessoaJuridica, operadores, operacao);
    }
    public void remover(PessoaFisica pessoaFisica) throws SQLException, ClassNotFoundException
    {
        negocioPessoaFisica.remover(pessoaFisica);
    }
    public void remover(PessoaFisica pessoaFisica, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioPessoaFisica.remover(pessoaFisica, operacao);
    }
    public void remover(PessoaFisica pessoaFisica, HashMap<String,String> operadores, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioPessoaFisica.remover(pessoaFisica, operadores, operacao);
    }
    public void remover(Produto produto) throws SQLException, ClassNotFoundException
    {
        negocioProduto.remover(produto);
    }
    public void remover(Produto produto, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioProduto.remover(produto, operacao);
    }
    public void remover(Produto produto, HashMap<String,String> operadores, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioProduto.remover(produto, operadores, operacao);
    }
    public void remover(TipoFormaPgto formaPgto) throws SQLException, ClassNotFoundException
    {
        negocioTipoFormaPgto.remover(formaPgto);
    }
    public void remover(TipoFormaPgto formaPgto, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioTipoFormaPgto.remover(formaPgto, operacao);
    }
    public void remover(TipoFormaPgto formaPgto, HashMap<String,String> operadores, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioTipoFormaPgto.remover(formaPgto, operadores, operacao);
    }
    public void remover(DetalhePedido detalhePedido) throws SQLException, ClassNotFoundException
    {
        negocioDetalhePedido.remover(detalhePedido);
    }
    public void remover(DetalhePedido detalhePedido, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioDetalhePedido.remover(detalhePedido, operacao);
    }
    public void remover(DetalhePedido detalhePedido, HashMap<String,String> operadores, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioDetalhePedido.remover(detalhePedido, operadores, operacao);
    }
    public void remover(Categoria categoria) throws SQLException, ClassNotFoundException
    {
        negocioCategoria.remover(categoria);
    }
    public void remover(Categoria categoria, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioCategoria.remover(categoria, operacao);
    }
    public void remover(Categoria categoria, HashMap<String,String> operadores, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioCategoria.remover(categoria, operadores, operacao);
    }
    public void remover(Subcategoria subcategoria) throws SQLException, ClassNotFoundException
    {
        negocioSubcategoria.remover(subcategoria);
    }
    public void remover(Subcategoria subcategoria, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioSubcategoria.remover(subcategoria, operacao);
    }
    public void remover(Subcategoria subcategoria, HashMap<String,String> operadores, Boolean operacao) throws SQLException, ClassNotFoundException
    {
        negocioSubcategoria.remover(subcategoria, operadores, operacao);
    }








    public void atualizar(Cliente cliente) throws SQLException, ClassNotFoundException
    {
        negocioCliente.atualizar(cliente);
    }
    public void atualizar(Pedido pedido) throws SQLException, ClassNotFoundException
    {
        negocioPedido.atualizar(pedido);
    }
    public void atualizar(EstadoPedido estadoPedido) throws SQLException, ClassNotFoundException
    {
        negocioEstadoPedido.atualizar(estadoPedido);
    }
    public void atualizar(SituacaoPedido situacaoPedido) throws SQLException, ClassNotFoundException
    {
        negocioSituacaoPedido.atualizar(situacaoPedido);
    }
    public void atualizar(DetalhePedido detalhePedido) throws SQLException, ClassNotFoundException
    {
        negocioDetalhePedido.atualizar(detalhePedido);
    }
    public void atualizar(PessoaJuridica pessoaJuridica) throws SQLException, ClassNotFoundException
    {
        negocioPessoaJuridica.atualizar(pessoaJuridica);
    }
    public void atualizar(PessoaFisica pessoaFisica) throws SQLException, ClassNotFoundException
    {
        negocioPessoaFisica.atualizar(pessoaFisica);
    }
    public void atualizar(Produto produto) throws SQLException, ClassNotFoundException
    {
        negocioProduto.atualizar(produto);
    }
    public void atualizar(Categoria categoria) throws SQLException, ClassNotFoundException
    {
        negocioCategoria.atualizar(categoria);
    }
    public void atualizar(Subcategoria subcategoria) throws SQLException, ClassNotFoundException
    {
        negocioSubcategoria.atualizar(subcategoria);
    }
    public void atualizar(TipoFormaPgto tipoFormaPgto) throws SQLException, ClassNotFoundException
    {
        negocioTipoFormaPgto.atualizar(tipoFormaPgto);
    }

    public Cliente procurar(Cliente cliente) throws SQLException, ClassNotFoundException
    {
        return negocioCliente.procurar(cliente);
    }
    public Cliente procurar(Cliente cliente, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioCliente.procurar(cliente, operadores);
    }
    public Pedido procurar(Pedido pedido) throws SQLException, ClassNotFoundException
    {
        return negocioPedido.procurar(pedido);
    }
    public Pedido procurar(Pedido pedido, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioPedido.procurar(pedido, operadores);
    }
    public EstadoPedido procurar(EstadoPedido estadoPedido) throws SQLException, ClassNotFoundException
    {
        return negocioEstadoPedido.procurar(estadoPedido);
    }
    public EstadoPedido procurar(EstadoPedido estadoPedido,HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioEstadoPedido.procurar(estadoPedido, operadores);
    }
    public SituacaoPedido procurar(SituacaoPedido situacaoPedido) throws SQLException, ClassNotFoundException
    {
        return negocioSituacaoPedido.procurar(situacaoPedido);
    }
    public SituacaoPedido procurar(SituacaoPedido situacaoPedido, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioSituacaoPedido.procurar(situacaoPedido, operadores);
    }
    public TipoFormaPgto procurar(TipoFormaPgto tipoFormaPgto) throws SQLException, ClassNotFoundException
    {
        return negocioTipoFormaPgto.procurar(tipoFormaPgto);
    }
    public TipoFormaPgto procurar(TipoFormaPgto tipoFormaPgto, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioTipoFormaPgto.procurar(tipoFormaPgto, operadores);
    }
    public DetalhePedido procurar(DetalhePedido detalhePedido) throws SQLException, ClassNotFoundException
    {
        return negocioDetalhePedido.procurar(detalhePedido);
    }
    public DetalhePedido procurar(DetalhePedido detalhePedido, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioDetalhePedido.procurar(detalhePedido, operadores);
    }
    public Categoria procurar(Categoria categoria) throws SQLException, ClassNotFoundException
    {
        return negocioCategoria.procurar(categoria);
    }
    public Categoria procurar(Categoria categoria, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioCategoria.procurar(categoria, operadores);
    }
    public PessoaFisica procurar(PessoaFisica pessoaFisica) throws SQLException, ClassNotFoundException
    {
        return negocioPessoaFisica.procurar(pessoaFisica);
    }
    public PessoaFisica procurar(PessoaFisica pessoaFisica, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioPessoaFisica.procurar(pessoaFisica, operadores);
    }
    public PessoaJuridica procurar(PessoaJuridica pessoaJuridica) throws SQLException, ClassNotFoundException
    {
        return negocioPessoaJuridica.procurar(pessoaJuridica);
    }
    public PessoaJuridica procurar(PessoaJuridica pessoaJuridica, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioPessoaJuridica.procurar(pessoaJuridica, operadores);
    }
    public Produto procurar(Produto produto) throws SQLException, ClassNotFoundException
    {
        return negocioProduto.procurar(produto);
    }
    public Produto procurar(Produto produto, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioProduto.procurar(produto, operadores);
    }
    public Subcategoria procurar(Subcategoria subcategoria) throws SQLException, ClassNotFoundException
    {
        return negocioSubcategoria.procurar(subcategoria);
    }
    public Subcategoria procurar(Subcategoria subcategoria, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioSubcategoria.procurar(subcategoria, operadores);
    }


    public Vector procurarLista(Cliente cliente) throws SQLException, ClassNotFoundException
    {
        return negocioCliente.procurarLista(cliente);
    }
    public Vector procurarLista(Cliente cliente, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioCliente.procurarLista(cliente, operadores);
    }
    public Vector procurarLista(Pedido pedido) throws SQLException, ClassNotFoundException
    {
        return negocioPedido.procurarLista(pedido);
    }
    public Vector procurarLista(Pedido pedido, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioPedido.procurarLista(pedido, operadores);
    }
    public Vector procurarLista(EstadoPedido estadoPedido) throws SQLException, ClassNotFoundException
    {
        return negocioEstadoPedido.procurarLista(estadoPedido);
    }
    public Vector procurarLista(EstadoPedido estadoPedido,HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioEstadoPedido.procurarLista(estadoPedido, operadores);
    }
    public Vector procurarLista(SituacaoPedido situacaoPedido) throws SQLException, ClassNotFoundException
    {
        return negocioSituacaoPedido.procurarLista(situacaoPedido);
    }
    public Vector procurarLista(SituacaoPedido situacaoPedido, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioSituacaoPedido.procurarLista(situacaoPedido, operadores);
    }
    public Vector procurarLista(TipoFormaPgto tipoFormaPgto) throws SQLException, ClassNotFoundException
    {
        return negocioTipoFormaPgto.procurarLista(tipoFormaPgto);
    }
    public Vector procurarLista(TipoFormaPgto tipoFormaPgto, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioTipoFormaPgto.procurarLista(tipoFormaPgto, operadores);
    }
    public Vector procurarLista(DetalhePedido detalhePedido) throws SQLException, ClassNotFoundException
    {
        return negocioDetalhePedido.procurarLista(detalhePedido);
    }
    public Vector procurarLista(DetalhePedido detalhePedido, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioDetalhePedido.procurarLista(detalhePedido, operadores);
    }
    public Vector procurarLista(Categoria categoria) throws SQLException, ClassNotFoundException
    {
        return negocioCategoria.procurarLista(categoria);
    }
    public Vector procurarLista(Categoria categoria, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioCategoria.procurarLista(categoria, operadores);
    }
    public Vector procurarLista(PessoaFisica pessoaFisica) throws SQLException, ClassNotFoundException
    {
        return negocioPessoaFisica.procurarLista(pessoaFisica);
    }
    public Vector procurarLista(PessoaFisica pessoaFisica, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioPessoaFisica.procurarLista(pessoaFisica, operadores);
    }
    public Vector procurarLista(PessoaJuridica pessoaJuridica) throws SQLException, ClassNotFoundException
    {
        return negocioPessoaJuridica.procurarLista(pessoaJuridica);
    }
    public Vector procurarLista(PessoaJuridica pessoaJuridica, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioPessoaJuridica.procurarLista(pessoaJuridica, operadores);
    }
    public Vector procurarLista(Produto produto) throws SQLException, ClassNotFoundException
    {
        return negocioProduto.procurarLista(produto);
    }
    public Vector procurarLista(Produto produto, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioProduto.procurarLista(produto, operadores);
    }
    public Vector procurarLista(Subcategoria subcategoria) throws SQLException, ClassNotFoundException
    {
        return negocioSubcategoria.procurarLista(subcategoria);
    }
    public Vector procurarLista(Subcategoria subcategoria, HashMap<String,String> operadores) throws SQLException, ClassNotFoundException
    {
        return negocioSubcategoria.procurarLista(subcategoria, operadores);
    }

    public int getQuantidadeCliente() throws SQLException, ClassNotFoundException
    {
        return negocioCliente.getQuantidade();
    }
    public int getQuantidadePedido() throws SQLException, ClassNotFoundException
    {
        return negocioPedido.getQuantidade();
    }
    public int getQuantidadeCategoria() throws SQLException, ClassNotFoundException
    {
        return negocioCategoria.getQuantidade();
    }
    public int getQuantidadePessoaFisica() throws SQLException, ClassNotFoundException
    {
        return negocioPessoaFisica.getQuantidade();
    }
    public int getQuantidadePessoaJuridica() throws SQLException, ClassNotFoundException
    {
        return negocioPessoaJuridica.getQuantidade();
    }
    public int getQuantidadeSituacaoPedido() throws SQLException, ClassNotFoundException
    {
        return negocioSituacaoPedido.getQuantidade();
    }
    public int getQuantidadeEstadoPedido() throws SQLException, ClassNotFoundException
    {
        return negocioEstadoPedido.getQuantidade();
    }
    public int getQuantidadeSubcategoria() throws SQLException, ClassNotFoundException
    {
        return negocioSubcategoria.getQuantidade();
    }
    public int getQuantidadeDetalhePedido() throws SQLException, ClassNotFoundException
    {
        return negocioDetalhePedido.getQuantidade();
    }
    public int getQuantidadeTipoFormaPgto() throws SQLException, ClassNotFoundException
    {
        return negocioTipoFormaPgto.getQuantidade();
    }
    public int getQuantidadeProduto() throws SQLException, ClassNotFoundException
    {
        return negocioProduto.getQuantidade();
    }

}
